package com.anti.modular.sys.user.service;

import com.anti.modular.sys.user.param.SysUserParam;

import java.util.List;

/**
 * @Description TODO
 * @Author anTi
 * @Date 2021-3-10
 */
public interface SysUserRoleService {
    /**
     * 获取用户的角色id集合
     *
     * @param userId 用户id
     * @return 角色id集合
     */
    List<Long> getUserRoleIdList(Long userId);

    /**
     * 根据用户id删除对应的用户-角色表关联信息
     */
    void deleteUserRoleListByUserId(Long userId);

    /**
     * 授权角色
     * @param sysUserParam 授权参数
     */
    void saveGrantRole(SysUserParam sysUserParam);

    /**
     * 获取用户所有角色的数据范围（组织机构id集合）
     * @param userId 用户id
     * @param orgId  组织机构id
     * @return 数据范围id集合（组织机构id集合）
     */
    List<Long> getUserRoleDataScopeIdList(Long userId, Long orgId);
}
